//Source file: D:\\test\\com\\ce\\pms\\custservice\\model\\FeedbackRecord.java

package com.ce.pms.custservice.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.ce.pms.common.model.HmDeptDomain;
import com.ce.pms.common.model.SysInfo;
import com.ce.pms.common.model.SysrefcodeDO;
import com.sitechasia.webx.core.model.IDomainObject;

/**
 * 实体名称:反馈登记 关联数据表:CE_FEED_BACK_RECORD
 *
 * @author yandawei
 * @CreateDate:2008-12-8
 */
@Entity
@Table(name = "CE_FEED_BACK_RECORD")
public class FeedbackRecord implements IDomainObject {
	/**
	 * 反馈登记_ID
	 */
	@Id
	@GeneratedValue
	@Column(name = "FEED_BACK_RECORD_ID")
	private Long keyword;

	/**
	 * 是否完工:1是;0否
	 */
	@Column(name = "HAS_COMPLETE", nullable = false, length = 1)
	private String hasComplete;

	/**
	 * 满意度:
	 */
	@Column(name = "SATISFIED_DEGREE", length = 30)
	private String satisfiedDegree;

	/**
	 * 反馈内容
	 */
	@Column(name = "CONTENT", nullable = false, length = 100)
	private String content;

	/**
	 * 客户姓名
	 */
	@Column(name = "CLIENT", length = 36)
	private String client;

	/**
	 * 执行人
	 */
	@Column(name = "EXECUTANT", length = 36)
	private String executant;

	/**
	 * 记录人
	 */
	@Column(name = "RECORDER", length = 36)
	private String recorder;

	/**
	 * 记录时间
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "RECORD_TIME")
	private Date recordTime;

	/**
	 * 数据状态:1正常;0作废
	 */
	@Column(name = "STATUZ", length = 1)
	private String validity;

	/**
	 * 系统信息
	 */
	@Embedded
	private SysInfo sysInfo;

	/**
	 * 责任部门ID
	 */
	@OneToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "DEPT_ID")
	private HmDeptDomain deptDO;

	/**
	 * 派工单
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "DISPATCH_FORM_ID")
	private DispatchFormDO dispatchForm;

	/**
	 * 备注
	 */
	@Column(name = "REMARK", length = 200)
	private String remark;

	/**
	 * @roseuid 4937AB300251
	 */
	public FeedbackRecord() {

	}

	/**
	 * 自定义构造器
	 *
	 * @param hasComplete -
	 *            是否完成
	 * @param content -
	 *            反馈内容
	 * @return com.ce.pms.custservice.model.FeedbackRecord
	 * @roseuid 492413760157
	 */
	public FeedbackRecord(String hasComplete, String content) {
		this.hasComplete = hasComplete;
		this.content = content;
	}

	/**
	 * 设置状态”正常" validity=1
	 *
	 * @roseuid 492413DB00BB
	 */
	public void initValidity() {
		setValidity(SysrefcodeDO.CONSTANTS_DIGITAL_ONE);
	}

	/**
	 * 设置状态”作废" validity=0
	 *
	 * @roseuid 492414310290
	 */
	public void setValidityFalse() {
		setValidity(SysrefcodeDO.CONSTANTS_DIGITAL_ZERO);
	}

	public String getClient() {
		return client;
	}

	public void setClient(String client) {
		this.client = client;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getExecutant() {
		return executant;
	}

	public void setExecutant(String executant) {
		this.executant = executant;
	}

	public String getHasComplete() {
		return hasComplete;
	}

	public void setHasComplete(String hasComplete) {
		this.hasComplete = hasComplete;
	}

	public Long getKeyword() {
		return keyword;
	}

	public void setKeyword(Long keyword) {
		this.keyword = keyword;
	}

	public String getRecorder() {
		return recorder;
	}

	public void setRecorder(String recorder) {
		this.recorder = recorder;
	}

	public Date getRecordTime() {
		return recordTime;
	}

	public void setRecordTime(Date recordTime) {
		this.recordTime = recordTime;
	}

	public String getSatisfiedDegree() {
		return satisfiedDegree;
	}

	public void setSatisfiedDegree(String satisfiedDegree) {
		this.satisfiedDegree = satisfiedDegree;
	}

	public HmDeptDomain getDeptDO() {
		return deptDO;
	}

	public void setDeptDO(HmDeptDomain deptDO) {
		this.deptDO = deptDO;
	}

	public String getValidity() {
		return validity;
	}

	public void setValidity(String validity) {
		this.validity = validity;
	}

	public DispatchFormDO getDispatchForm() {
		return dispatchForm;
	}

	public void setDispatchForm(DispatchFormDO dispatchForm) {
		this.dispatchForm = dispatchForm;
	}

	public SysInfo getSysInfo() {
		return sysInfo;
	}

	public void setSysInfo(SysInfo sysInfo) {
		this.sysInfo = sysInfo;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
}
